{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Transformation of random variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from numpy.random import rand, seed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "%config InlineBackend.figure_format = \"retina\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 265,
       "width": 703
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "seed(314)\n",
    "z = rand(500)\n",
    "lam = 0.3\n",
    "y = - np.log(1 - z) / lam\n",
    "\n",
    "fig, ax = plt.subplots(1, 2, figsize=(12, 4))\n",
    "sns.distplot(z, kde=False, ax=ax[0])\n",
    "sns.distplot(y, kde=False, ax=ax[1]);\n",
    "ax[0].set_title(\"Uniform Distribution\", fontsize=15)\n",
    "ax[1].set_title(\"Exponential Distribution\", fontsize=15);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Box-Muller Method"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
